package org.devops

def PrintMsg(value, color) {
    colors = [
        // 基础状态（白底深色文字）
        'error'    : "\033[47;31m [ERROR] ⚠️  ${value.center(28)} ⚠️  \033[0m",  // 白底红字
        'warn'     : "\033[47;33m [WARN] ⚠️  ${value.center(30)} ⚠️  \033[0m",   // 白底黄字
        'info'     : "\033[47;34m [INFO] ℹ️  ${value.center(30)} ℹ️  \033[0m",   // 白底蓝字
        'success'  : "\033[47;32m [PASS] ✓ ${value.center(30)} ✓ \033[0m",      // 白底绿字


        // CI/CD阶段（深底亮色文字）
        'checkout' : "\033[40;36m [GIT] ⇣ ${value.center(32)} ⇣ \033[0m",       // 黑底青色文字（代码拉取）
        'build'    : "\033[40;33m [BUILD] ⟳ ${value.center(28)} ⟳ \033[0m",    // 黑底橙色文字（构建中）
        'image_tag': "\033[40;35m [TAG] 🏷  ${value.center(30)} 🏷  \033[0m",   // 黑底紫色文字（镜像标签）
        'image'    : "\033[40;34m [IMAGE] 🐳 ${value.center(28)} 🐳 \033[0m",  // 黑底蓝色文字（镜像构建）
        'template' : "\033[40;32m [TEMPLATE] 📑 ${value.center(26)} 📑 \033[0m",// 黑底绿色文字（模板生成）
        'deploy'   : "\033[40;92m [DEPLOY] 🚀 ${value.center(28)} 🚀 \033[0m",  // 黑底亮绿文字（部署）
        'rollback' : "\033[40;91m [ROLLBACK] ↩ ${value.center(26)} ↩ \033[0m"  // 黑底亮红文字（回滚）
    ]

    ansiColor('xterm') {
        if (!colors.containsKey(color)) {
            color = 'info' // 默认回退到信息级别
            println "\033[33mWARN: Undefined color '${color}' for message: ${value}\033[0m"
        }
        println(colors[color])
    }
}